The World Wide Web (“Web”) provides a wealth of information and services to people around the world. The ability to discover information from around the globe often requires no more than a click of a mouse. At the same time, the Web is best suited for use by people. For example, tasks such as finding a specific translation of a word, searching for the lowest price on an item for sale, or making reservations at a restaurant or with an airline are often difficult for a machine to accomplish without human assistance.
As a result, work is being done to make the Web more understandable. The Semantic Web, for example, tries to provide a framework to make the Web more understandable to both humans and machines by defining the meaning of information and services available on the Web. The goal is to enable the understanding and satisfaction of requests from various sources. The Semantic Web aims to enable machines, for example, to perform some of the tasks that are performed by humans today.
Making the Web more understandable has many applications that include data integration, data classification, searching, content rating, data description, or the like. In order for these applications to come to fruition, however, it is necessary to identify the meaning or semantics of data and/or services on the Web.
One of the tools used to determine the semantics of data and services on the Web is ontologies. Ontologies are used to express relationships among resources. For instance, there are many different terms that can be used to describe the same things in various data sets. Ontologies can identify these relationships and make it easier to determine the semantics of these data sets. Unfortunately, constructing ontologies is a labor intensive and costly process. In addition, ontologies are often incomplete and unfocused.